<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>xrandr examples</title>
  
    <meta name="author" content="jouyouyun">

    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <!-- Le styles -->
    <link href="/assets/twitter/stylesheets/bootstrap.min.css" type="text/css" rel="stylesheet" media="all">
<link href="/assets/twitter/stylesheets/style.css" type="text/css" rel="stylesheet" media="all">
<link href="/assets/twitter/widgets/google_prettify/stylesheets/twitter-bootstrap.css" type="text/css" rel="stylesheet" media="all">
 

    <!-- Le fav and touch icons -->
  <!-- Update these with your own images
    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
  -->
  </head>

  <body>

    <div class="navbar">
      <div class="navbar-inner">
        <div class="container">
          <a class="brand" href="/">Jouyouyun&#39;s Blog</a>
          <ul class="nav">
            
              


  <li><a href="/archive">Archive</a></li>


            
              


  <li><a href="/tags">Tags</a></li>


            
              


  <li><a href="/categories">Categories</a></li>


            
              


  <li><a href="/about">About Me</a></li>


            
          </ul>
        </div>
      </div>
    </div>

    <div class="container">

      <div class="content">
        <div class="page-header">
  <h1>xrandr examples </h1>
</div>

<div class="row">
  <div class="span8">
    <p>由于经常会用到使用 <code>xrandr</code> 设置屏幕属性, 而每次用的时候都要去查 <code>man</code> 手册, 有时还需要上网搜索例子.
这样一来就比较麻烦, 所以就想整理下 <code>xrandr</code> 的用法, 给出一些常用的例子.</p>

<h3>查询</h3>

<p>使用 <code>xrandr -q</code> 命令可以查询当前的显示器状态, 使用 <code>xrandr --verbose</code> 将会显示更详细的信息.</p>

<h3>设置分辨率</h3>

<p>设置分辨率时需要指定设置的 <code>ouput</code> 以及 <code>mode</code>, 如将 <code>eDP1</code> 的分辨率改为 <code>1920x1080</code>, 命令就是 <code>xrandr --output eDP1 --mode 1920x1080</code>.</p>

<p>但是单屏时不用这么麻烦, 可以直接使用命令 <code>xrandr -s 1920x1080</code> 来更改.</p>

<h3>添加分辨率</h3>

<p>如果 <code>xrandr -q</code> 查询的结果中没有合适的分辨率, 则可以通过 <code>newmode</code> 来添加一个, 下面将给出为 <code>eDP1</code> 添加 <code>1440x900x60</code> 的分辨率的方法.</p>

<ol>
<li><p>使用 <code>cvt</code> 生成一个 <code>modeline</code>, 命令如下:</p>

<pre><code class="language-shell">-&gt;cvt 1440 900 60
# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline &quot;1440x900_60.00&quot;  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
</code></pre></li>

<li><p>使用 <code>newmode</code> 创建一个 <code>mode</code>, 参数就是上面 <code>Modeline</code> 后的内容, 命令如下:</p>

<pre><code class="language-shell">-&gt;xrandr --newmode &quot;1440x900_60.00&quot;  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
</code></pre></li>

<li><p>将上面的 <code>mode</code> 添加到 <code>eDP1</code> 中:</p>

<pre><code class="language-shell">-&gt;xrandr --addmode eDP1 1440x900_60.00
</code></pre>

<p>如果执行出错, 则说明不支持此模式. 如果没有错误则添加完成, 然后就可以设置此 <code>mode</code> 为分辨率了.</p></li>
</ol>

<h3>双屏配置</h3>

<p>如现在有两个 <code>output</code>, 分别是 <code>eDP1</code> 和 <code>VGA1</code>.</p>

<h4>设置主屏</h4>

<p>通过指定 <code>--primary</code> 参数来设置主屏, 如设置 <code>eDP1</code> 为主屏: <code>xrandr --auto --output eDP1 --primary</code>, <code>--auto</code> 可以自动启用关闭的屏幕.</p>

<h4>复制模式</h4>

<p>复制模式最好使用两个显示器都有的 <code>mode</code> 作为默认的 <code>mode</code>, 命令是 <code>xrandr --auto --output eDP1 --pos 0x0 --mode 1440x900 --output VGA1 --same-as eDP1</code>.</p>

<h4>扩展模式</h4>

<p>命令是 <code>xrandr --auto --output eDP1 --pos 0x0 --mode 1920x1080 --primary --output VGA1 --mode 1440x900 --right-of eDP1</code>.</p>

<p>命令的结果就是 <code>VGA1</code> 会在 <code>eDP1</code> 的右边, <code>eDP1</code> 为主屏, 另外位置的参数还有 <code>left-of</code>, <code>--above</code>, <code>--below</code> 等.</p>

<p>如果需要自定义两个屏幕的位置, 可以通过计算每个屏幕的分辨率, 用 <code>--pos</code> 参数来指定每个屏幕显示的位置.</p>

<h4>单屏模式</h4>

<p>这个模式是只显示某一个屏幕, 如只显示 <code>eDP1</code>, 可以使用命令 <code>xrandr --output eDP1 --pos 0x0 --mode 1920x1080 --primary --output VGA1 --off</code>,
这样就会把 <code>VGA1</code> 给关闭.</p>

<h4>其它</h4>

<p>另外屏幕的旋转, 镜像和缩放可以分别使用 <code>--rotate</code>, <code>reflect</code> 和 <code>--scale</code> 参数来实现.</p>

<p>至于更详细的信息请使用 <code>man xrandr</code> 来查看.</p>

    <hr>
    <div class="pagination">
      <ul>
        <ul>
          
            <li class="prev"><a href="/Note/DDE-Package-List/" title="DDE Package List">&larr; Previous</a></li>
          
          

            <li><a href="/archive">Archive</a></li>

          
            <li class="next"><a href="/Note/Enable-coredump/" title="Enable coredump">Next &rarr;</a></li>
          
          
        </ul>
      </ul>
    </div>
    <hr>
    
<div id="disqus_thread"></div>
<script>
    var disqus_developer = 1;
    var disqus_shortname = 'jekyllbootstrap'; // required: replace example with your forum shortname
    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>

  </div>
  
  <div class="span4">
    <h4>Published</h4>
    <div class="date"><span>2016-06-06 16:52:30</span></div>
    <br>
    <h4>Categories</h4>
    <ul class="tag_box">
    
      <li>
  <a href="/categories/#Blog-ref">Blog <span>23</span></a>
</li>
    
    </ul>
    <br>
    <h4>Tags</h4>
    <ul class="tag_box">
    
      <li>
  <a href="/tags/#xrandr-ref">xrandr <span>1</span></a>
</li>
    
    </ul>
  </div>
</div>

      </div>

      <footer>
        <p>&copy; jouyouyun 2013 
          with help from <a href="http://github.com/wendal/gor" target="_blank" title="Gor -- Fast Blog">Gor</a>
          and <a href="http://twitter.github.com/bootstrap/" target="_blank">Twitter Bootstrap</a>
		  and Idea from <a href="http://ruhoh.com" target="_blank" title="The Definitive Technical Blogging Framework">ruhoh</a>
        </p>
      </footer>

    </div> <!-- /container -->

    
<script src="//cdnjscn.b0.upaiyun.com/libs/prettify/r298/prettify.min.js"></script>
<script>
  var pres = document.getElementsByTagName("pre");
  for (var i=0; i < pres.length; ++i) {
    pres[i].className = "prettyprint linenums";
  }
  prettyPrint();
</script>

    
<script type="text/javascript">

  var _gaq = _gaq || [];
  var pluginUrl = '//www.google-analytics.com/plugins/ga/inpage_linkid.js';
  _gaq.push(['_require', 'inpage_linkid', pluginUrl]);
  _gaq.push(['_setAccount', 'UA-123-12']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
  </body>
</html>
